fixed: Add gtk_fixed_remove
authorMatthias Clasen <mclasen@redhat.com>
Thu, 7 May 2020 19:02:39 +0000 (15:02 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Tue, 12 May 2020 02:21:39 +0000 (22:21 -0400)
This is the replacement for gtk_container_reomve.

docs/reference/gtk/gtk4-sections.txt
gtk/gtkfixed.c
gtk/gtkfixed.h

index 63a8916aa3c18fb05b5f0ede6e3c3a315d39a19b..04d667f75e38e291b78dd84ab1a46ee94502fd70 100644 (file)
@@ -1210,6 +1210,7 @@ gtk_filter_list_model_get_type
 GtkFixed
 gtk_fixed_new
 gtk_fixed_put
+gtk_fixed_remove
 gtk_fixed_move
 <SUBSECTION Standard>
 GTK_FIXED
index 3d35f0a24bd09360239bbdd79985e54e1d7d1c00..40f3576ebaa9071a8881c75f0d4aededc9e38516 100644 (file)
@@ -78,8 +78,6 @@
 
 static void gtk_fixed_add           (GtkContainer     *container,
                                      GtkWidget        *widget);
-static void gtk_fixed_remove        (GtkContainer     *container,
-                                     GtkWidget        *widget);
 static void gtk_fixed_forall        (GtkContainer     *container,
                                      GtkCallback       callback,
                                      gpointer          callback_data);
@@ -296,10 +294,22 @@ gtk_fixed_add (GtkContainer *container,
   gtk_fixed_put (GTK_FIXED (container), widget, 0, 0);
 }
 
-static void
-gtk_fixed_remove (GtkContainer *container,
-                  GtkWidget    *widget)
+/**
+ * gtk_fixed_remove:
+ * @fixed: a #GtkFixed
+ * @widget: the child widget to remove
+ *
+ * Removes a child from @fixed, after it has been added
+ * with gtk_fixed_put().
+ */
+void
+gtk_fixed_remove (GtkFixed  *fixed,
+                  GtkWidget *widget)
 {
+  g_return_if_fail (GTK_IS_FIXED (fixed));
+  g_return_if_fail (GTK_IS_WIDGET (widget));
+  g_return_if_fail (gtk_widget_get_parent (widget) == GTK_WIDGET (fixed));
+
   gtk_widget_unparent (widget);
 }
 
index 539dfed9705a763d4e8549916b72e1ece25f2ab4..77acdf3e856d3256f01607af48a814e4d579b4cc 100644 (file)
@@ -70,6 +70,9 @@ void            gtk_fixed_put                   (GtkFixed     *fixed,
                                                  gint          x,
                                                  gint          y);
 GDK_AVAILABLE_IN_ALL
+void            gtk_fixed_remove                (GtkFixed     *fixed,
+                                                 GtkWidget    *widget);
+GDK_AVAILABLE_IN_ALL
 void            gtk_fixed_move                  (GtkFixed     *fixed,
                                                  GtkWidget    *widget,
                                                  gint          x,